// 1. 如何封装http请求
// 	uniapp毕竟不是axios,因为axios是浏览器端的,uniapp可能是小程序,app等无浏览器环境.

// 	封装的核心: 
// 		1. 形成promise调用
// 		2. 参数灵活可配置
// 		3. 接口统一管理

// function getProductList(kv){
// 	return http({
// 		url: 'xxx/api/xxx',
// 		method: 'get',
// 		kv,
// 		header: {
//			'token':'12342314'
//     }
// 	})
// }

function http(options){
	return new Promise((resolve,reject){
		// uni.request 默认合并了get/post请求的参数类型
		uni.request({
		    url: options.url, //仅为示例，并非真实接口地址。
		    data: options.kv,
			method: options.method || 'get',
		    header: {
				'content-type': 'application/x-www-form-urlencoded', // from data
		        ... options.header  ,// 合并传递的header
		    },
		    success: (res) => {
		        // this.text = 'request success';
				resolve(res.data); 
		    },
			fail: (err)=>{
				rejcect(err);
				uni.showToast({
					icon:'error',
					title: '请求错误!'
				})
			}
		});
	})
}

export default http;